昨天我們讓我們的遊戲添加了道具功能,今天我們來給我們的遊戲增加生命值的機制吧!走起!!
Photo by Jude Beck on Unsplash
這邊我們利用了 group
的 config
機制來創建我們的生命值,這邊很方便的是如果你要製作很多一樣的東西可以透過 config
來幫你快速的佈置。
let life = 3;
...
lifeText = this.add.text(10, 5, "Life: ");
lives = this.physics.add.group({
key: "ball",
repeat: life - 1, // 這邊原先他就會幫你佈置一個,所以我們只需要重複 2 個可以佈置 3 個了
setXY: { x: 65, y: 13, stepX: 15 },
setScale: { x: 0.5, y: 0.5 },
});
當我們的球掉到底下的時候扣除一點生命值,並且重置我們的球跟板子。
這邊可以看到我們可以用 enableBody
來重新設置我們的物件
if (ball.body.y > 600) {
// 刪除一顆場景內的生命值
lives.getChildren()[lives.getChildren().length - 1].destroy();
// 重置球跟板子
ball.enableBody(true, 400, 500, true, true);
ball.setVelocityY(200);
board.enableBody(true, 400, 550, true, true);
board.displayWidth = 95;
board.setTint(0xffffff);
speed = 160;
direction = 1;
life -= 1;
}
現在的畫面就有了我們的生命提示囉~
我們完成了我們的生命機制,但是感覺還是美中不足,感覺死掉之後馬上就開始有點太突然了,我們明天來調整一下這個機制吧!!
Phaser
Game
2020鐵人賽